1. Field of the Invention
This invention relates to a computer which contains read only memory ("ROM") based executable instructions which minimize the amount of time needed to initialize power to small computer system interface ("SCSI") devices by employing SCSI controllers which support a fast spin-up mode within their inquiry page and, in response to a start spin-up command, immediately release control of the SCSI bus to other SCSI disk drives to allow a controlled number of SCSI disk drives to concurrently spin-up.
2. Description of the Related Art
SCSI is a well-known term, and is generally referred to as a system-level interface that provides an expansion bus onto which SCSI devices can be coupled. SCSI bus protocol beneficially allows exchange of data among two SCSI devices without the intervention of the host computer processor. SCSI-I architecture allows up to seven SCSI devices to be coupled onto the SCSI bus and linked to a single SCSI port, or SCSI adapter. A newer SCSI-II standard allows an increase in addressing of up to fifteen SCSI devices coupled to a single SCSI adapter via a single SCSI bus. Thus, instead of using an 8-bit bus, SCSI-II uses either 16 or 32 data lines, wherein each line is dedicated to a specific SCSI initiator and SCSI target.
There may be numerous types of SCSI devices which can operate as a peripheral device linked to a computer system. For example, there are tape drives or hard disk drives which operate from the standard SCSI bus protocol, and which are compatible with personal computers or network servers which employ numerous SCSI adapters and associated SCSI devices. In computers which place an emphasis on massive storage devices, multiple SCSI hard disk drives may be contained within a single computer chassis. For example, modem servers may utilize multiple hard disk drives and, due to the performance benefit of SCSI, most of those servers employ SCSI hard disk drives and/or tape drives.
The electromechanical motors which drive SCSI devices consume a greater amount of power and/or current when they are first turned on. This means that the initial power consumption is quite large relative to subsequent steady state power and/or current. When a SCSI disk drive is powered up, surge current spikes are caused by inrush current required by the disk drive while its power filter capacitors are charging and during the initial "spin-up" of its drive motor. SCSI disk drives typically share a common power supply provided throughout the SCSI bus. Inrush current can therefor cause the common power supply to drop out of regulation, thereby causing a voltage spike and possibly degrading data being transferred by other disk drives sharing the SCSI bus. It is for this reason that initial spin-up current to the disk drives must be carefully monitored to prevent data transfer errors or to prevent current draw from exceeding the maximum allowable current draw (i.e., "budget") of the computer system. In an effort to control current draw during spin-up, conventional SCSI protocol provides for sequential spin-up of multiple SCSI devices, whereby two SCSI devices are never spun-up at the same time.
A conventional spin-up process involves applying an initial amount of power to activate the electromechanical motor. That spin-up power in quantified as an amount needed to bring the electromechanical motor from a standstill to a steady state rotational amount. Once steady state rotation is achieved, the current spike on the common power supply is reduced so that another disk drive can now be spun-up. By sequentially applying power to SCSI devices during initialization of the computer, undue spiking on the common power supply is minimized and brought within tolerable limits.
An unfortunate aspect of sequentially initializing a SCSI subsystem is the exorbitant amount of time spent waiting for SCSI devices to spin-up. As SCSI hard drives become larger and as computer systems (e.g., servers) support more drives, the problem is compounded. For example, a large portion of ROM power-on self test ("POST") time is spent initializing the SCSI subsystem which, in instances where a server is employed, initialization can take possibly 30 minutes or longer to spin-up all the drives in sequence and complete the ROM POST.
An improvement is needed in the process of initializing power to SCSI devices. That improvement must be one which can minimize the time needed to spin-up multiple electromechanical SCSI device motors during the reset or boot sequence of a computer. If improvements to the spin-up time can be achieved, operators of large server systems will be less likely to become impatient and contact the manufacturer falsely believing an error has occurred during boot-up.